home *** CD-ROM | disk | FTP | other *** search
-
-
-
- CCCCGGGGEEEELLLLSSSSSSSS((((3333SSSS)))) CCCCGGGGEEEELLLLSSSSSSSS((((3333SSSS))))
-
-
-
- NNNNAAAAMMMMEEEE
- CGELSS - compute the minimum norm solution to a complex linear least
- squares problem
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- SUBROUTINE CGELSS( M, N, NRHS, A, LDA, B, LDB, S, RCOND, RANK, WORK,
- LWORK, RWORK, INFO )
-
- INTEGER INFO, LDA, LDB, LWORK, M, N, NRHS, RANK
-
- REAL RCOND
-
- REAL RWORK( * ), S( * )
-
- COMPLEX A( LDA, * ), B( LDB, * ), WORK( * )
-
- IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
- These routines are part of the SCSL Scientific Library and can be loaded
- using either the -lscs or the -lscs_mp option. The -lscs_mp option
- directs the linker to use the multi-processor version of the library.
-
- When linking to SCSL with -lscs or -lscs_mp, the default integer size is
- 4 bytes (32 bits). Another version of SCSL is available in which integers
- are 8 bytes (64 bits). This version allows the user access to larger
- memory sizes and helps when porting legacy Cray codes. It can be loaded
- by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
- only one of the two versions; 4-byte integer and 8-byte integer library
- calls cannot be mixed.
-
- PPPPUUUURRRRPPPPOOOOSSSSEEEE
- CGELSS computes the minimum norm solution to a complex linear least
- squares problem: Minimize 2-norm(| b - A*x |).
-
- using the singular value decomposition (SVD) of A. A is an M-by-N matrix
- which may be rank-deficient.
-
- Several right hand side vectors b and solution vectors x can be handled
- in a single call; they are stored as the columns of the M-by-NRHS right
- hand side matrix B and the N-by-NRHS solution matrix X.
-
- The effective rank of A is determined by treating as zero those singular
- values which are less than RCOND times the largest singular value.
-
-
- AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
- M (input) INTEGER
- The number of rows of the matrix A. M >= 0.
-
- N (input) INTEGER
- The number of columns of the matrix A. N >= 0.
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- CCCCGGGGEEEELLLLSSSSSSSS((((3333SSSS)))) CCCCGGGGEEEELLLLSSSSSSSS((((3333SSSS))))
-
-
-
- NRHS (input) INTEGER
- The number of right hand sides, i.e., the number of columns of
- the matrices B and X. NRHS >= 0.
-
- A (input/output) COMPLEX array, dimension (LDA,N)
- On entry, the M-by-N matrix A. On exit, the first min(m,n) rows
- of A are overwritten with its right singular vectors, stored
- rowwise.
-
- LDA (input) INTEGER
- The leading dimension of the array A. LDA >= max(1,M).
-
- B (input/output) COMPLEX array, dimension (LDB,NRHS)
- On entry, the M-by-NRHS right hand side matrix B. On exit, B is
- overwritten by the N-by-NRHS solution matrix X. If m >= n and
- RANK = n, the residual sum-of-squares for the solution in the i-
- th column is given by the sum of squares of elements n+1:m in
- that column.
-
- LDB (input) INTEGER
- The leading dimension of the array B. LDB >= max(1,M,N).
-
- S (output) REAL array, dimension (min(M,N))
- The singular values of A in decreasing order. The condition
- number of A in the 2-norm = S(1)/S(min(m,n)).
-
- RCOND (input) REAL
- RCOND is used to determine the effective rank of A. Singular
- values S(i) <= RCOND*S(1) are treated as zero. If RCOND < 0,
- machine precision is used instead.
-
- RANK (output) INTEGER
- The effective rank of A, i.e., the number of singular values
- which are greater than RCOND*S(1).
-
- WORK (workspace/output) COMPLEX array, dimension (LWORK)
- On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
-
- LWORK (input) INTEGER
- The dimension of the array WORK. LWORK >= 1, and also: LWORK >=
- 2*min(M,N) + max(M,N,NRHS) For good performance, LWORK should
- generally be larger.
-
- If LWORK = -1, then a workspace query is assumed; the routine
- only calculates the optimal size of the WORK array, returns this
- value as the first entry of the WORK array, and no error message
- related to LWORK is issued by XERBLA.
-
- RWORK (workspace) REAL array, dimension (5*min(M,N))
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- CCCCGGGGEEEELLLLSSSSSSSS((((3333SSSS)))) CCCCGGGGEEEELLLLSSSSSSSS((((3333SSSS))))
-
-
-
- INFO (output) INTEGER
- = 0: successful exit
- < 0: if INFO = -i, the i-th argument had an illegal value.
- > 0: the algorithm for computing the SVD failed to converge; if
- INFO = i, i off-diagonal elements of an intermediate bidiagonal
- form did not converge to zero.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- INTRO_LAPACK(3S), INTRO_SCSL(3S)
-
- This man page is available only online.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-